# 定义time，可能以后会用到
import time
# 定义os，用于清除屏幕
import os

# 打印欢迎信息
print("words 1.0 by 张峻熙")
# 用于在输入中英文的时候显示第几个
word_n_n = 0
# 这个变量用于决定输入单词的循环次数
words_number = int(input("请输入您要考察的单词数目（数字）："))
# 记录正确的有几个
word_yes = int(0)
# 记录第二次考试的时候正确的次数
word_yes_x = int(0)
# 记录错误的有几个
word_no = int(0)
# 记录第二次考试的时候错误的次数
word_no_x = int(0)
# 用于第二次考试的时候循环计数的变量
lotx = 0


# 创建清除屏幕脚本
def clean():
    os.system("cls")

# locals()是一个创建变量名的函数，可以随时调用
# 创建输入模块
"""
这里将要考察的单词录入到变量里
"""
for i in range(words_number):
    # 第几个默认是 0 每次 + 1
    word_n_n += 1
    print("第 %d 个" % word_n_n)
    """
    创建具有有重复性的变量
    如:word_chinese_0 word_chinese_2     word2_English_0 word2_English_1
    """
    locals()[f'word_chinese_{i}'] = input("请输入中文单词:")
    locals()[f'word2_English_{i}'] = input("请输入英文单词:")

# 开始考试欢迎信息
input("输入完成，回车开始考试. . .")
# 考试
clean()
print("现在，考试开始！")
for i in range(words_number):
    # 将我们输入的信息录入到一个新的变量里，变量名同37行
    locals()[f'test_{i}'] = input("%s :" % locals()[f'word_chinese_{i}'])
    if locals()[f'test_{i}'] == locals()[f'word2_English_{i}']:
        print("回答正确")
        word_yes += 1
    else:
        print("回答错误")
        # 捕获错误的题目，同上
        locals()[f'word_chinese_x_{lotx}'] = locals()[f'word_chinese_{i}']
        locals()[f'word_english_x_{lotx}'] = locals()[f'word2_English_{i}']
        lotx += 1
        word_no += 1


# 打印错误信息并作出提问
end_input = input("考试结束，您一共做对了 %d 个题目，做错了 %d 个题目，是否听写错误的题目？(Y/N)" % (word_yes, word_no))
if end_input == "Y":
    clean()
    # 打印欢迎信息
    print("第二次考试开始！")
    # 那次错在这里了，写成+= 0了，改回来后，程序运行成功
    lotx = 0
    for i in range(word_no):
        locals()[f'test_x_{i}'] = input("%s :" % locals()[f'word_chinese_x_{lotx}'])
        if locals()[f'test_x_{i}'] == locals()[f'word_english_x_{lotx}']:
            print("回答正确")
            word_yes_x += 1
        else:
            print("回答错误")
            word_no_x += 1
        lotx += 1
    # 打印一共错了几个
    input("考试结束，您一共做对了 %d 个题目，做错了 %d 个题目，回车退出. . ." % (word_yes_x, word_no_x))
elif end_input == "N":
    exit()
else:
    print("您输入的貌似不是Y/N，我们将默认将您退出")